package com.ecarx.camera.worker.car;

import com.ecarx.camera.utils.LogUtils;
import com.ecarx.camera.worker.car.constant.IllegalData;

import java.util.Arrays;

/**
 * 空实现
 */
public class EmptyProxyImpl implements ICarFunctionProxy, ICarSensorProxy, IDeviceInfoProxy{

    private static final String TAG = "EmptyProxyImpl";


    @Override
    public boolean isFunctionSupported(int functionId) {
        LogUtils.d(TAG, "isFunctionSupported, functionId:" + functionId);
        return false;
    }

    @Override
    public boolean isFunctionActive(int functionId) {
        LogUtils.d(TAG, "isFunctionActive, functionId:" + functionId);
        return false;
    }

    @Override
    public boolean isFunctionActive(int functionId, int zone) {
        LogUtils.d(TAG, "isFunctionActive, functionId:" + functionId + ", zone:" + zone);
        return false;
    }

    @Override
    public boolean setFunctionValue(int functionId, int functionValue) {
        LogUtils.d(TAG, "setFunctionValue, functionId:" + functionId + ", value:" + functionValue);
        return false;
    }

    @Override
    public boolean setFunctionValue(int functionId, int zone, int functionValue) {
        LogUtils.d(TAG, "setFunctionValue, functionId:" + functionId + ", zone:" + zone + ", value:" + functionValue);
        return false;
    }

    @Override
    public int getFunctionValue(int functionId) {
        LogUtils.d(TAG, "getFunctionValue, functionId:" + functionId);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public int getFunctionValue(int functionId, int zone) {
        LogUtils.d(TAG, "getFunctionValue, functionId:" + functionId + ", zone:" + zone);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public boolean setFunctionFloatValue(int functionId, float functionValue) {
        LogUtils.d(TAG, "setFunctionFloatValue, functionId:" + functionId + ", value:" + functionValue);
        return false;
    }

    @Override
    public boolean setFunctionFloatValue(int functionId, int zone, float functionValue) {
        LogUtils.d(TAG, "setFunctionFloatValue, functionId:" + functionId + ", zone:" + zone + ", value:" + functionValue);
        return false;
    }

    @Override
    public float getFunctionFloatValue(int functionId) {
        LogUtils.d(TAG, "getFunctionFloatValue, functionId:" + functionId);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public float getFunctionFloatValue(int functionId, int zone) {
        LogUtils.d(TAG, "getFunctionFloatValue, functionId:" + functionId + ", zone:" + zone);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public boolean setFunctionBooleanValue(int functionId, boolean functionValue) {
        LogUtils.d(TAG, "setFunctionBooleanValue, functionId:" + functionId + ", valeu:" + functionValue);
        return false;
    }

    @Override
    public boolean setFunctionBooleanValue(int functionId, int zone, boolean functionValue) {
        LogUtils.d(TAG, "setFunctionBooleanValue, functionId:" + functionId + ", zone:" + zone + ", value:" + functionValue);
        return false;
    }

    @Override
    public boolean getFunctionBooleanValue(int functionId) {
        LogUtils.d(TAG, "getFunctionBooleanValue, functionId:" + functionId);
        return false;
    }

    @Override
    public boolean getFunctionBooleanValue(int functionId, int zone) {
        LogUtils.d(TAG, "getFunctionBooleanValue, functionId:" + functionId + ", zone:" + zone);
        return false;
    }

    @Override
    public boolean registerFunctionValueWatcher(int functionId, IFunctionValueWatcher watcher) {
        LogUtils.d(TAG, "registerFunctionValueWatcher, functionId:" + functionId + ", watcher:" + watcher);
        return false;
    }

    @Override
    public boolean registerFunctionValueWatcher(int[] functionIds, IFunctionValueWatcher watcher) {
        LogUtils.d(TAG, "registerFunctionValueWatcher, ids:" + Arrays.toString(functionIds) + ", watcher:" + watcher);
        return false;
    }

    @Override
    public boolean unregisterFunctionValueWatcher(IFunctionValueWatcher watcher) {
        LogUtils.d(TAG, "unregisterFunctionValueWatcher, watcher:" + watcher);
        return false;
    }

    @Override
    public boolean isSensorSupported(int sensorId) {
        LogUtils.d(TAG, "isSensorSupported, sensorId:" + sensorId);
        return false;
    }

    @Override
    public boolean isSensorActive(int sensorId) {
        LogUtils.d(TAG, "isSensorActive, sensorId:" + sensorId);
        return false;
    }

    @Override
    public int getSensorEvent(int sensorId) {
        LogUtils.d(TAG, "getSensorEvent, sensorId:" + sensorId);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public float getSensorFloatValue(int sensorId) {
        LogUtils.d(TAG, "getSensorFloatValue, sensorId:" + sensorId);
        return IllegalData.FunctionIllegalValue.CAR_PROPERTY_MANAGER_NOT_READY;
    }

    @Override
    public boolean registerListener(ISensorListener listener, int sensorId) {
        LogUtils.d(TAG, "registerListener, sensorId:" + sensorId + ", listener:" + listener);
        return false;
    }

    @Override
    public boolean unregisterListener(ISensorListener listener) {
        LogUtils.d(TAG, "unregisterListener, listener:" + listener);
        return false;
    }

    @Override
    public String getVehicleType() {
        LogUtils.d(TAG, "getVehicleType");
        return null;
    }

    @Override
    public String getProjectCode() {
        LogUtils.d(TAG, "getProjectCode");
        return null;
    }

    @Override
    public String getSupplierCode() {
        LogUtils.d(TAG, "getSupplierCode");
        return null;
    }

    @Override
    public String getOperatorName() {
        LogUtils.d(TAG, "getOperatorName");
        return null;
    }

    @Override
    public String getVin() {
        LogUtils.d(TAG, "getVin");
        return null;
    }

    @Override
    public String getICCID() {
        LogUtils.d(TAG, "getICCID");
        return null;
    }
}
